home *** CD-ROM | disk | FTP | other *** search
/ Hacker's Secrets 4 / Hacker's Secrets 4.iso / crypto / pgpfaq2.txt < prev    next >
Text File  |  1996-05-01  |  55KB  |  1,313 lines

  1.  
  2.              PGP FREQUENTLY ASKED QUESTIONS WITH ANSWERS, PART 2/3
  3.                                        
  4.  
  5. Archive-name: pgp-faq/part2
  6. Posting-Frequency: monthly
  7. Last-modified: 22 June 1995
  8.  
  9. -----BEGIN PGP SIGNED MESSAGE-----
  10.  
  11. ========
  12.  
  13. 3. Security Questions
  14.  
  15. ========
  16.  
  17. 3.1. How secure is PGP?
  18.  
  19. The big unknown in any encryption scheme based on RSA is whether or
  20. not there is an efficient way to factor huge numbers, or if there is
  21. some backdoor algorithm that can break the code without solving the
  22. factoring problem. Even if no such algorithm exists, it is still
  23. believed that RSA is the weakest link in the PGP chain.
  24.  
  25. ========
  26.  
  27. 3.2. Can't you break PGP by trying all of the possible keys?
  28.  
  29. This is one of the first questions that people ask when they are first
  30. introduced to cryptography. They do not understand the size of the
  31. problem. For the IDEA encryption scheme, a 128 bit key is required.
  32. Any one of the 2^128 possible combinations would be legal as a key,
  33. and only that one key would successfully decrypt all message blocks.
  34. Let's say that you had developed a special purpose chip that could try
  35. a billion keys per second. This is FAR beyond anything that could
  36. really be developed today. Let's also say that you could afford to
  37. throw a billion such chips at the problem at the same time. It would
  38. still require over 10,000,000,000,000 years to try all of the possible
  39. 128 bit keys. That is something like a thousand times the age of the
  40. known universe! While the speed of computers continues to increase and
  41. their cost decrease at a very rapid pace, it will probably never get
  42. to the point that IDEA could be broken by the brute force attack.
  43.  
  44. The only type of attack that might succeed is one that tries to solve
  45. the problem from a mathematical standpoint by analyzing the
  46. transformations that take place between plain text blocks, and their
  47. cipher text equivalents. IDEA is still a fairly new algorithm, and
  48. work still needs to be done on it as it relates to complexity theory,
  49. but so far, it appears that there is no algorithm much better suited
  50. to solving an IDEA cipher than the brute force attack, which we have
  51. already shown is unworkable. The nonlinear transformation that takes
  52. place in IDEA puts it in a class of extremely difficult to solve
  53. mathmatical problems.
  54.  
  55. ========
  56.  
  57. 3.3. How secure is the conventional cryptography (-c) option?
  58.  
  59. Assuming that you are using a good strong random pass phrase, it is
  60. actually much stronger than the normal mode of encryption because you
  61. have removed RSA which is believed to be the weakest link in the
  62. chain.  Of course, in this mode, you will need to exchange secret keys
  63. ahead of time with each of the recipients using some other secure
  64. method of communication, such as an in- person meeting or trusted
  65. courier.
  66.  
  67. ========
  68.  
  69. 3.4. Can the NSA crack RSA?
  70.  
  71. This question has been asked many times. If the NSA were able to crack
  72. RSA, you would probably never hear about it from them. The best
  73. defense against this is the fact the algorithm for RSA is known
  74. worldwide. There are many competent mathematicians and cryptographers
  75. outside the NSA and there is much research being done in the field
  76. right now. If any of them were to discover a hole in RSA, I'm sure
  77. that we would hear about it from them. I think that it would be hard
  78. to hide such a discovery.  For this reason, when you read messages on
  79. USENET saying that "someone told them" that the NSA is able to break
  80. pgp, take it with a grain of salt and ask for some documentation on
  81. exactly where the information is coming from.
  82.  
  83. ========
  84.  
  85. 3.5. Has RSA ever been cracked publicly?  What is RSA-129?
  86.  
  87. One RSA-encrypted message has been cracked publicly.
  88.  
  89. When the inventors of RSA first published the algorithm, they
  90. encrypted a sample message with it and made it available along with
  91. the public key used to encrypt the message.  They offered $100 to the
  92. first person to provide the plaintext message.  This challenge is
  93. often called "RSA-129" because the public key used was 129 digits,
  94. which translates to approximately 430 bits.
  95.  
  96. Recently, an international team coordinated by Paul Leyland, Derek
  97. Atkins, Arjen Lenstra, and Michael Graff successfully factored the
  98. public key used to encrypt the RSA-129 message and recovered the
  99. plaintext.  The message read:
  100.  
  101.   THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE
  102.  
  103. They headed a huge volunteer effort in which work was distributed via
  104. E-mail, fax, and regular mail to workers on the Internet, who
  105. processed their portion and sent the results back.  About 1600
  106. machines took part, with computing power ranging from a fax machine to
  107. Cray supercomputers.  They used the best known factoring algorithm of
  108. the time; better methods have been discovered since then, but the
  109. results are still instructive in the amount of work required to crack
  110. a RSA-encrypted message.
  111.  
  112. The coordinators have estimated that the project took about eight
  113. months of real time and used approximately 5000 MIPS-years of
  114. computing time.  (A MIPS-year is approximately the amount of computing
  115. done by a 1 MIPS [million instructions per second] computer in one
  116. year.)
  117.  
  118. What does all this have to do with PGP?  The RSA-129 key is
  119. approximately equal in security to a 426-bit PGP key.  This has been
  120. shown to be easily crackable by this project.  PGP used to recommend
  121. 384-bit keys as "casual grade" security; recent versions offer 512
  122. bits as a recommended minimum security level.
  123.  
  124. Note that this effort cracked only a single RSA key.  Nothing was
  125. discovered during the course of the experiment to cause any other keys
  126. to become less secure than they had been.
  127.  
  128. For more information on the RSA-129 project, see:
  129.  
  130.   ftp://ftp.ox.ac.uk/pub/math/rsa129/rsa129.ps.gz
  131.  
  132. ========
  133.  
  134. 3.6. How secure is the "for your eyes only" option (-m)?
  135.  
  136. It is not secure at all. There are many ways to defeat it. Probably
  137. the easiest way is to simply redirect your screen output to a file as
  138. follows:
  139.  
  140.     pgp [filename] > [diskfile]
  141.  
  142. The -m option was not intended as a fail-safe option to prevent plain
  143. text files from being generated, but to serve simply as a warning to
  144. the person decrypting the file that he probably shouldn't keep a copy
  145. of the plain text on his system.
  146.  
  147. ========
  148.  
  149. 3.7. What if I forget my pass phrase?
  150.  
  151. In a word: DON'T. If you forget your pass phrase, there is absolutely
  152. no way to recover any encrypted files. I use the following technique:
  153. I have a backup copy of my secret key ring on floppy, along with a
  154. sealed envelope containing the pass phrase. I keep these two items in
  155. separate safe locations, neither of which is my home or office. The
  156. pass phrase used on this backup copy is different from the one that I
  157. normally use on my computer. That way, even if some stumbles onto the
  158. hidden pass phrase and can figure out who it belongs to, it still
  159. doesn't do them any good, because it is not the one required to unlock
  160. the key on my computer.
  161.  
  162. ========
  163.  
  164. 3.8. Why do you use the term "pass phrase" instead of "password"?
  165.  
  166. This is because most people, when asked to choose a password, select
  167. some simple common word. This can be cracked by a program that uses a
  168. dictionary to try out passwords on a system. Since most people really
  169. don't want to select a truly random password, where the letters and
  170. digits are mixed in a nonsense pattern, the term pass phrase is used
  171. to urge people to at least use several unrelated words in sequence as
  172. the pass phrase.
  173.  
  174. ========
  175.  
  176. 3.9. What is the best way to crack PGP?
  177.  
  178. Currently, the best attack possible on PGP is a dictionary attack on
  179. the pass phrase.  This is an attack where a program picks words out of
  180. a dictionary and strings them together in different ways in an attempt
  181. to guess your pass phrase.
  182.  
  183. This is why picking a strong pass phrase is so important.  Many of
  184. these cracker programs are very sophisticated and can take advantage
  185. of language idioms, popular phrases, and rules of grammar in building
  186. their guesses.  Single-word "phrases", proper names (especially famous
  187. ones), or famous quotes are almost always crackable by a program with
  188. any "smarts" in it at all.
  189.  
  190. ========
  191.  
  192. 3.10. If my secret key ring is stolen, can my messages be read?
  193.  
  194. No, not unless they have also stolen your secret pass phrase, or if
  195. your pass phrase is susceptible to a brute-force attack. Neither part
  196. is useful without the other. You should, however, revoke that key and
  197. generate a fresh key pair using a different pass phrase. Before
  198. revoking your old key, you might want to add another user ID that
  199. states what your new key id is so that others can know of your new
  200. address.
  201.  
  202. ========
  203.  
  204. 3.11. How do I choose a pass phrase?
  205.  
  206. All of the security that is available in PGP can be made absolutely
  207. useless if you don't choose a good pass phrase to encrypt your secret
  208. key ring. Too many people use their birthday, their telephone number,
  209. the name of a loved one, or some easy to guess common word.  While
  210. there are a number of suggestions for generating good pass phrases,
  211. the ultimate in security is obtained when the characters of the pass
  212. phrase are chosen completely at random. It may be a little harder to
  213. remember, but the added security is worth it. As an absolute minimum
  214. pass phrase, I would suggest a random combination of at least 8
  215. letters and digits, with 12 being a better choice. With a 12 character
  216. pass phrase made up of the lower case letters a-z plus the digits 0-9,
  217. you have about 62 bits of key, which is 6 bits better than the 56 bit
  218. DES keys. If you wish, you can mix upper and lower case letters in
  219. your pass phrase to cut down the number of characters that are
  220. required to achieve the same level of security. I don't do this myself
  221. because I hate having to manipulate the shift key while entering a
  222. pass phrase.
  223.  
  224. A pass phrase which is composed of ordinary words without punctuation
  225. or special characters is susceptible to a dictionary attack.
  226. Transposing characters or mis-spelling words makes your pass phrase
  227. less vulnerable, but a professional dictionary attack will cater for
  228. this sort of thing.
  229.  
  230. A good treatise on the subject is available which discusses the use of
  231. "shocking nonsense" in pass phrases.  It is written by Grady Ward, and
  232. can be found on Fran Litterio's crypto page:
  233.  
  234.   http://draco.centerline.com:8080/~franl/pgp/pgp-passphrase-faq.html
  235.  
  236. ========
  237.  
  238. 3.12. How do I remember my pass phrase?
  239.  
  240. This can be quite a problem especially if you are like me and have
  241. about a dozen different pass phrases that are required in your
  242. everyday life. Writing them down someplace so that you can remember
  243. them would defeat the whole purpose of pass phrases in the first
  244. place. There is really no good way around this. Either remember it, or
  245. write it down someplace and risk having it compromised.
  246.  
  247. ========
  248.  
  249. 3.13. How do I verify that my copy of PGP has not been tampered with?
  250.  
  251. If you do not presently own any copy of PGP, use great care on where
  252. you obtain your first copy. What I would suggest is that you get two
  253. or more copies from different sources that you feel that you can
  254. trust. Compare the copies to see if they are absolutely identical.
  255. This won't eliminate the possibility of having a bad copy, but it will
  256. greatly reduce the chances.
  257.  
  258. If you already own a trusted version of PGP, it is easy to check the
  259. validity of any future version.  Newer binary versions of MIT PGP are
  260. distributed in popular archive formats; the archive file you receive
  261. will contain only another archive file, a file with the same name as
  262. the archive file with the extension .ASC, and a "setup.doc" file.  The
  263. .ASC file is a stand-alone signature file for the inner archive file
  264. that was created by the developer in charge of that particular PGP
  265. distribution.  Since nobody except the developer has access to his/her
  266. secret key, nobody can tamper with the archive file without it being
  267. detected.  Of course, the inner archive file contains the newer PGP
  268. distribution.
  269.  
  270. A quick note: If you upgrade to MIT PGP from an older copy (2.3a or
  271. before), you may have problems verifying the signature.  See question
  272. 3.14, below, for a more detailed treatment of this problem.
  273.  
  274. To check the signature, you must use your old version of PGP to check
  275. the archive file containing the new version.  If your old version of
  276. PGP is in a directory called C:\PGP and your new archive file and
  277. signature is in C:\NEW (and you have retrieved MIT PGP 2.6.2), you may
  278. execute the following command:
  279.  
  280.     C:\PGP\PGP C:\NEW\PGP262I.ASC C:\NEW\PGP262I.ZIP
  281.  
  282. If you retrieve the source distribution of MIT PGP, you will find two
  283. more files in your distribution: an archive file for the RSAREF
  284. library and a signature file for RSAREF.  You can verify the RSAREF
  285. library in the same way as you verify the main PGP source archive.
  286.  
  287. Non-MIT versions typically include a signature file for the PGP.EXE
  288. program file only.  This file will usually be called PGPSIG.ASC.  You
  289. can check the integrity of the program itself this way by running your
  290. older version of PGP on the new version's signature file and program
  291. file.
  292.  
  293. Phil Zimmermann himself signed all versions of PGP up to 2.3a.  Since
  294. then, the primary developers for each of the different versions of PGP
  295. have signed their distributions.  As of this writing, the developers
  296. whose signatures appear on the distributions are:
  297.  
  298. MIT PGP 2.6.2                Jeff Schiller <jis@mit.edu>
  299. ViaCrypt PGP 2.7.1           ViaCrypt
  300. PGP 2.6.2i                   Stale Schumacher <staalesc@ifi.uio.no>
  301. PGP 2.6ui                    mathew <mathew@mantis.co.uk>
  302.  
  303. ========
  304.  
  305. 3.14. I can't verify the signature on my new copy of MIT PGP with my
  306. old PGP 2.3a!
  307.  
  308. The reason for this, of course, is that the signatures generated by
  309. MIT PGP (which is what Jeff Schiller uses to sign his copy) are no
  310. longer readable with PGP 2.3a.
  311.  
  312. You may, first of all, not verify the signature and follow other
  313. methods for making sure you aren't getting a bad copy.  This isn't as
  314. secure, though; if you're not careful, you could get passed a bad copy
  315. of PGP.
  316.  
  317. If you're intent on checking the signature, you may do an intermediate
  318. upgrade to MIT PGP 2.6.  This older version was signed before the
  319. "time bomb" took effect, so its signature is readable by the older
  320. versions of PGP.  Once you have validated the signature on the
  321. intermediate version, you can then use that version to check the
  322. current version.
  323.  
  324. As another alternative, you may upgrade to PGP 2.6.2i or 2.6ui,
  325. checking their signatures with 2.3a, and use them to check the
  326. signature on the newer version.  People living in the USA who do this
  327. may be violating the RSA patent in doing so; then again, you may have
  328. been violating it anyway by using 2.3a, so you're not in much worse
  329. shape.
  330.  
  331. ========
  332.  
  333. 3.15. How do I know that there is no trap door in the program?
  334.  
  335. The fact that the entire source code for the free versions of PGP is
  336. available makes it just about impossible for there to be some hidden
  337. trap door. The source code has been examined by countless individuals
  338. and no such trap door has been found. To make sure that your
  339. executable file actually represents the given source code, all you
  340. need to do is to re-compile the entire program.
  341.  
  342. ========
  343.  
  344. 3.16. I heard that the NSA put a back door in MIT PGP, and that they
  345. only allowed it to be legal with the back door.
  346.  
  347. First of all, the NSA had nothing to do with PGP becoming "legal".
  348. The legality problems solved by MIT PGP had to do with the alleged
  349. patent on the RSA algorithm used in PGP.
  350.  
  351. Second, all the freeware versions of PGP are released with full source
  352. code to both PGP and to the RSAREF library they use (just as every
  353. other freeware version before them were).  Thus, it is subject to the
  354. same peer review mentioned in the question above.  If there were an
  355. intentional hole, it would probably be spotted.  If you're really
  356. paranoid, you can read the code yourself and look for holes!
  357.  
  358. ========
  359.  
  360. 3.17. Can I put PGP on a multi-user system like a network or a
  361. mainframe?
  362.  
  363. Yes.  PGP will compile for several high-end operating systems such as
  364. Unix and VMS.  Other versions may easily be used on machines connected
  365. to a network.
  366.  
  367. You should be very careful, however.  Your pass phrase may be passed
  368. over the network in the clear where it could be intercepted by network
  369. monitoring equipment, or the operator on a multi-user machine may
  370. install "keyboard sniffers" to record your pass phrase as you type it
  371. in. Also, while it is being used by PGP on the host system, it could
  372. be caught by some Trojan Horse program.  Also, even though your secret
  373. key ring is encrypted, it would not be good practice to leave it lying
  374. around for anyone else to look at.
  375.  
  376. So why distribute PGP with directions for making it on Unix and VMS
  377. machines at all?  The simple answer is that not all Unix and VMS
  378. machines are network servers or "mainframes."  If you use your machine
  379. only from the console (or if you use some network encryption package
  380. such as Kerberos), you are the only user, you take reasonable system
  381. security measures to prevent unauthorized access, and you are aware of
  382. the risks above, you can securely use PGP on one of these systems.  As
  383. an example of this, my own home computer runs Linux, a Unix clone.  As
  384. I (and my wife) are the only users of the computer, I feel that the
  385. risks of crackers invading my system and stealing my pass phrase are
  386. minimal.
  387.  
  388. You can still use PGP on multi-user systems or networks without a
  389. secret key for checking signatures and encrypting.  As long as you
  390. don't process a private key or type a pass phrase on the multiuser
  391. system, you can use PGP securely there.
  392.  
  393. ========
  394.  
  395. 3.18. Can I use PGP under a "swapping" operating system like Windows
  396. or OS/2?
  397.  
  398. Yes.  PGP for DOS runs OK in most "DOS windows" for these systems, and
  399. PGP can be built natively for many of them as well.
  400.  
  401. The problem with using PGP on a system that swaps is that the system
  402. will often swap PGP out to disk while it is processing your pass
  403. phrase.  If this happens at the right time, your pass phrase could end
  404. up in cleartext in your swap file.  How easy it is to swap "at the
  405. right time" depends on the operating system; Windows reportedly swaps
  406. the pass phrase to disk quite regularly, though it is also one of the
  407. most inefficient systems.  PGP does make every attempt to not keep the
  408. pass phrase in memory by "wiping" memory used to hold the pass phrase
  409. before freeing it, but this solution isn't perfect.
  410.  
  411. If you have reason to be concerned about this, you might consider
  412. getting a swapfile wiping utility to securely erase any trace of the
  413. pass phrase once you are done with the system.  Several such utilities
  414. exist for Windows and Linux at least.
  415.  
  416. ========
  417.  
  418. 3.19. Why not use RSA alone rather than a hybrid mix of IDEA, MD5, &
  419. RSA?
  420.  
  421. Two reasons: First, the IDEA encryption algorithm used in PGP is
  422. actually MUCH stronger than RSA given the same key length.  Even with
  423. a 1024 bit RSA key, it is believed that IDEA encryption is still
  424. stronger, and, since a chain is no stronger than its weakest link, it
  425. is believed that RSA is actually the weakest part of the RSA - IDEA
  426. approach. Second, RSA encryption is MUCH slower than IDEA. The only
  427. purpose of RSA in most public key schemes is for the transfer of
  428. session keys to be used in the conventional secret key algorithm, or
  429. to encode signatures.
  430.  
  431. ========
  432.  
  433. 3.20. Aren't all of these security procedures a little paranoid?
  434.  
  435. That all depends on how much your privacy means to you! Even apart
  436. from the government, there are many people out there who would just
  437. love to read your private mail. And many of these individuals would be
  438. willing to go to great lengths to compromise your mail. Look at the
  439. amount of work that has been put into some of the virus programs that
  440. have found their way into various computer systems. Even when it
  441. doesn't involve money, some people are obsessed with breaking into
  442. systems.
  443.  
  444. In addition, don't forget that private keys are useful for more than
  445. decrypting.  Someone with your private key can also sign items that
  446. could later prove to be difficult to deny.  Keeping your private key
  447. secure can prevent, at the least, a bit of embarassment, and at most
  448. could prevent charges of fraud or breach of contract.
  449.  
  450. Besides, many of the above procedures are also effective against some
  451. common indirect attacks.  As an example, the digital signature also
  452. serves as an effective integrity check of the file signed; thus,
  453. checking the signature on new copies of PGP ensures that your computer
  454. will not get a virus through PGP (unless, of course, the PGP version
  455. developer contracts a virus and infects PGP before signing).
  456.  
  457. ========
  458.  
  459. 3.21. Can I be forced to reveal my pass phrase in any legal
  460. proceedings?
  461.  
  462. Gary Edstrom reported the following in earlier versions of this FAQ:
  463.  
  464. - -----
  465. The following information applies only to citizens of the United
  466. States in U.S. Courts.  The laws in other countries may vary.  Please
  467. see the disclaimer at the top of part 1.
  468.  
  469. There have been several threads on Internet concerning the question of
  470. whether or not the fifth amendment right about not being forced to
  471. give testimony against yourself can be applied to the subject of being
  472. forced to reveal your pass phrase.  Not wanting to settle for the many
  473. conflicting opinions of armchair lawyers on usenet, I asked for input
  474. from individuals who were more qualified in the area.  The results
  475. were somewhat mixed.  There apparently has NOT been much case history
  476. to set precedence in this area.  So if you find yourself in this
  477. situation, you should be prepared for a long and costly legal fight on
  478. the matter.  Do you have the time and money for such a fight?  Also
  479. remember that judges have great freedom in the use of "Contempt of
  480. Court".  They might choose to lock you up until you decide to reveal
  481. the pass phrase and it could take your lawyer some time to get you
  482. out.  (If only you just had a poor memory!)
  483. - -----
  484.  
  485. ========
  486.  
  487. 4. Keys
  488.  
  489. ========
  490.  
  491. 4.1.  Which key size should I use?
  492.  
  493. PGP gives you three choices for key size: 512, 768, or 1024 bits.  You
  494. can also specify the number of bits your key should have if you don't
  495. like any of those numbers.  The larger the key, the more secure the
  496. RSA portion of the encryption is. The only place where the key size
  497. makes a large change in the running time of the program is during key
  498. generation. A 1024 bit key can take 8 times longer to generate than a
  499. 384 bit key. Fortunately, this is a one time process that doesn't need
  500. to be repeated unless you wish to generate another key pair. During
  501. encryption, only the RSA portion of the encryption process is affected
  502. by key size. The RSA portion is only used for encrypting the session
  503. key used by the IDEA. The main body of the message is totally
  504. unaffected by the choice of RSA key size. So unless you have a very
  505. good reason for doing otherwise, select the 1024 bit key size.  Using
  506. currently available algorithms for factoring, the 384 and 512 bit keys
  507. are just not far enough out of reach to be good choices.
  508.  
  509. If you are using MIT PGP 2.6.2, ViaCrypt PGP 2.7.1, or PGP 2.6.2i, you
  510. can specify key sizes greater than 1024 bits; the upper limit for
  511. these programs is 2048 bits.  Remember that you have to tell PGP how
  512. big you want your key if you want it to be bigger than 1024 bits.
  513. Generating a key this long will take you quite a while; however, this
  514. is, as noted above, a one-time process.  Remember that other people
  515. running other versions of PGP may not be able to handle your large
  516. key!
  517.  
  518. ========
  519.  
  520. 4.2. Why does PGP take so long to add new keys to my key ring?
  521.  
  522. The time required to check signatures and add keys to your public key
  523. ring tends to grow as the square of the size of your existing public
  524. key ring. This can reach extreme proportions.
  525.  
  526. Gary Edstrom remarked (a long time ago):
  527.  
  528. I just recently added the entire 850KB public key ring form one of the
  529. key servers to my local public key ring. Even on my 66MHz 486 system,
  530. the process took over 10 hours.
  531.  
  532. ========
  533.  
  534. 4.3. How can I extract multiple keys into a single armored file?
  535.  
  536. A number of people have more than one public key that they would like
  537. to make available. One way of doing this is executing the "-kxa"
  538. command for each key you wish to extract from the key ring into
  539. separate armored files, then appending all the individual files into a
  540. single long file with multiple armored blocks. This is not as
  541. convenient as having all of your keys in a single armored block.
  542.  
  543. Unfortunately, the present version of PGP does not allow you to do
  544. this directly. Fortunately, there is an indirect way to do it.
  545.  
  546. I would like to thank Robert Joop <rj@rainbow.in-berlin.de> for
  547. supplying the following method which is simpler than the method that I
  548. had previously given.
  549.  
  550. solution 1:
  551.  
  552. pgp -kxaf uid1 >  extract
  553. pgp -kxaf uid2 >> extract
  554. pgp -kxaf uid3 >> extract
  555.  
  556. Someone who does a `pgp extract` processes the individual keys, one by
  557. one. that's inconvinient.
  558.  
  559. solution 2:
  560.  
  561. pgp -kx uid1 extract
  562. pgp -kx uid2 extract
  563. pgp -kx uid3 extract
  564.  
  565. This puts all three keys into extract.pgp. To get an ascii amored
  566. file, call:
  567.  
  568. pgp -a extract.pgp
  569.  
  570. You get an extract.asc. Someone who does a `pgp extract` and has
  571. either file processes all three keys simultaneously.
  572.  
  573. A Unix script to perform the extraction with a single command would be
  574. as follows:
  575.  
  576.   #!/bin/csh
  577.   foreach name (name1 name2 name3 ...)
  578.   pgp -kx $name /tmp/keys.pgp <keyring>
  579.   end
  580.  
  581. or:
  582.  
  583.   #!/bin/sh
  584.   for name in name1 name2 name3 ... ; do
  585.   pgp -kx $name /tmp/keys.pgp <keyring>
  586.   end
  587.  
  588. An equivalent DOS command would be:
  589.  
  590.   for %a in (name1 name2 name3 ...) do pgp -kx %a keys.pgp <keyring>
  591.  
  592. ========
  593.  
  594. 4.4. I tried encrypting the same message to the same address two
  595. different times and got completely different outputs. Why is this?
  596.  
  597. Every time you run PGP, a different session key is generated. This
  598. session key is used as the key for IDEA. As a result, the entire
  599. header and body of the message changes. You will never see the same
  600. output twice, no matter how many times you encrypt the same message to
  601. the same address.  This adds to the overall security of PGP.
  602.  
  603. ========
  604.  
  605. 4.5.  How do I specify which key to use when an individual has 2 or
  606. more public keys and the very same user ID on each, or when 2
  607. different users have the same name?
  608.  
  609. Instead of specifying the user's name in the ID field of the PGP
  610. command, you can use the key ID number. The format is 0xNNNNNNNN where
  611. NNNNNNNN is the user's 8 character key ID number. It should be noted
  612. that you don't need to enter the entire ID number, a few consecutive
  613. digits from anywhere in the ID should do the trick.  Be careful: If
  614. you enter "0x123", you will be matching key IDs 0x12393764,
  615. 0x64931237, or 0x96412373.  Any key ID that contains "123" anywhere in
  616. it will produce a match.  They don't need to be the starting
  617. characters of the key ID.  You will recognize that this is the format
  618. for entering hex numbers in the C programming language. For example,
  619. any of the following commands could be used to encrypt a file to my
  620. work key:
  621.  
  622.     pgp -e <filename> "Jeff Licquia"
  623.     pgp -e <filename> licquia@cei.com
  624.     pgp -e <filename> 0xCF45DD0D
  625.  
  626. This same method of key identification can be used in the config.txt
  627. file in the "MyName" variable to specify exactly which of the keys in
  628. the secret key ring should be used for encrypting a message.
  629.  
  630. ========
  631.  
  632. 4.6. What does the message "Unknown signator, can't be checked" mean?
  633.  
  634. It means that the key used to create that signature does not exist in
  635. your database. If at sometime in the future, you happen to add that
  636. key to your database, then the signature line will read normally. It
  637. is completely harmless to leave these non-checkable signatures in your
  638. database. They neither add to nor take away from the validity of the
  639. key in question.
  640.  
  641. ========
  642.  
  643. 4.7.  How do I get PGP to display the trust parameters on a key?
  644.  
  645. You can only do this when you run the -kc option by itself on the
  646. entire database. The parameters will NOT be shown if you give a
  647. specific ID on the command line. The correct command is: "pgp -kc".
  648. The command "pgp -kc smith" will NOT show the trust parameters for
  649. smith.
  650.  
  651. ========
  652.  
  653. 4.8.  How can I make my key available via finger?
  654.  
  655. The first step is always to extract the key to an ASCII-armored text
  656. file with "pgp -kxa".  After that, it depends on what type of computer
  657. you want your key to be available on.  Check the documentation for
  658. that computer and/or its networking software.
  659.  
  660. Many computers running a Unix flavor will read information to be
  661. displayed via finger from a file in each user's home directory called
  662. ".plan".  If your computer supports this, you can put your public key
  663. in this file.  Ask your system administrator is you have problems with
  664. this.
  665.  
  666. ========
  667.  
  668. 5.   Message Signatures
  669.  
  670. ========
  671.  
  672. 5.1. What is message signing?
  673.  
  674. Let's imagine that you received a letter in the mail from someone you know
  675. named John Smith. How do you know that John was really the person who sent
  676. you the letter and that someone else simply forged his name? With PGP, it is
  677. possible to apply a digital signature to a message that is impossible to
  678. forge. If you already have a trusted copy of John's public encryption key,
  679. you can use it  to check the signature on the message. It would be impossible
  680. for anybody but John to have created the signature, since he is the only
  681. person with access to the secret key necessary to create the signature. In
  682. addition, if anybody has tampered with an otherwise valid message, the
  683. digital signature will detect the fact. It protects the entire message.
  684.  
  685. ========
  686.  
  687. 5.2. How do I sign a message while still leaving it readable?
  688.  
  689. Sometimes you are not interested in keeping the contents of a message
  690. secret, you only want to make sure that nobody tampers with it, and to
  691. allow others to verify that the message is really from you. For this,
  692. you can use clear signing. Clear signing only works on text files, it
  693. will NOT work on binary files. The command format is:
  694.  
  695.     pgp -sat +clearsig=on <filename>
  696.  
  697. The output file will contain your original unmodified text, along with
  698. section headers and an armored PGP signature. In this case, PGP is not
  699. required to read the file, only to verify the signature.
  700.  
  701. ========
  702.  
  703. 5.3.  Can't you just forge a signature by copying the signature block
  704.       to another message?
  705.  
  706. No.  The reason for this is that the signature contains information
  707. (called a "message digest" or a "one-way hash") about the message it's
  708. signing.  When the signature check is made, the message digest from
  709. the message is calculated and compared with the one stored in the
  710. encrypted signature block.  If they don't match, PGP reports that the
  711. signature is bad.
  712.  
  713. ========
  714.  
  715. 5.4. Are PGP signatures legally binding?
  716.  
  717. It's still too early to tell.  At least one company is using PGP
  718. digital signatures on contracts to provide "quick agreement" via
  719. E-mail, allowing work to proceed without having to wait for the paper
  720. signature.  Two USA states (Utah and Wyoming) have passed laws
  721. recently giving digital signatures binding force for certain kinds of
  722. transactions.  The Wyoming law is available from:
  723.  
  724. gopher://ferret.state.wy.us/00/wgov/lb/1995session/BILLS/1995/1995enr/
  725.   House_Bills/HEA0072
  726.  
  727. (whew!)
  728.  
  729. This non-lawyerly mind sees two questions which need to be considered.
  730. First, a "signature" is nothing more than an agreement to a contract;
  731. verbal "signatures" have been upheld before in court.  It would seem
  732. that, if such a dispute were to arise, that a valid digital signature
  733. could be seen as evidence that such an agreement was made.  Second,
  734. PGP keys are much easier to compromise than a person's handwritten
  735. signature, so their evidential value will by necessity be less.
  736.  
  737. ========
  738.  
  739. 6.   Key Signatures
  740.  
  741. ========
  742.  
  743. 6.1. What is key signing?
  744.  
  745. OK, you just got a copy of John Smith's public encryption key. How do
  746. you know that the key really belongs to John Smith and not to some
  747. impostor? The answer to this is key signatures. They are similar to
  748. message signatures in that they can't be forged. Let's say that you
  749. don't know that you have John Smith's real key. But let's say that you
  750. DO have a trusted key from Joe Blow. Let's say that you trust Joe Blow
  751. and that he has added his signature to John Smith's key. By inference,
  752. you can now trust that you have a valid copy of John Smith's key. That
  753. is what key signing is all about. This chain of trust can be carried
  754. to several levels, such as A trusts B who trusts C who trusts D,
  755. therefore A can trust D. You have control in the PGP configuration
  756. file over exactly how many levels this chain of trust is allowed to
  757. proceed. Be careful about keys that are several levels removed from
  758. your immediate trust.
  759.  
  760. ========
  761.  
  762. 6.2. How do I sign a key?
  763.  
  764. Execute the following command from the command prompt:
  765.  
  766.     PGP -ks [-u yourid] <keyid>
  767.  
  768. This adds your signature (signed with the private key for yourid, if
  769. you specify it) to the key identified with keyid.  If keyid is a user
  770. ID, you will sign that particular user ID; otherwise, you will sign
  771. the default user ID on that key (the first one you see when you list
  772. the key with "pgp -kv <keyid>").
  773.  
  774. Next, you should extract a copy of this updated key along with its
  775. signatures using the "-kxa" option. An armored text file will be
  776. created. Give this file to the owner of the key so that he may
  777. propagate the new signature to whomever he chooses.
  778.  
  779. Be very careful with your secret keyring.  Never be tempted to put a
  780. copy in somebody else's machine so you can sign their public key -
  781. they could have modified PGP to copy your secret key and grab your
  782. pass phrase.
  783.  
  784. It is not considered proper to send his updated key to a key server
  785. yourself unless he has given you explicit permission to do so. After
  786. all, he may not wish to have his key appear on a public server.  By
  787. the same token, you should expect that any key that you give out will
  788. probably find its way onto the public key servers, even if you really
  789. didn't want it there, since anyone having your public key can upload
  790. it.
  791.  
  792. ========
  793.  
  794. 6.3. Should I sign my own key?
  795.  
  796. Yes, you should sign each personal ID on your key. This will help to
  797. prevent anyone from placing a phony address in the ID field of the key
  798. and possibly having your mail diverted to them.  Anyone adding or
  799. changing a user id on your key will be unable to sign the entry,
  800. making it stand out like a sore thumb since all of the other entries
  801. are signed.  Do this even if you are the only person signing your key.
  802. For example, my entry in the public key ring now appears as follows if
  803. you use the "-kvv" command:
  804.  
  805. Type bits/keyID    Date       User ID
  806. pub  1024/0353E385 1994/06/17 Jeff Licquia <jalicqui@prairienet.org>
  807. sig       0353E385             Jeff Licquia <jalicqui@prairienet.org>
  808.  
  809. ========
  810.  
  811. 6.4.  Should I sign X's key?
  812.  
  813. Signing someone's key is your indication to the world that you believe
  814. that key to rightfully belong to that person, and that person is who
  815. he purports to be.  Other people may rely on your signature to decide
  816. whether or not a key is valid, so you should not sign capriciously.
  817.  
  818. Some countries require respected professionals such as doctors or
  819. engineers to endorse passport photographs as proof of identity for a
  820. passport application - you should consider signing someone's key in
  821. the same light. Alternatively, when you come to sign someone's key,
  822. ask yourself if you would be prepared to swear in a court of law as to
  823. that person's identity.
  824.  
  825. Remember that signing a person's key says nothing about whether you
  826. actually like or trust that person or approve of his/her actions.
  827. It's just like someone pointing to someone else at a party and saying,
  828. "Yeah, that's Joe Blow over there."  Joe Blow may be an ax murderer;
  829. you don't become tainted with his crime just because you can pick him
  830. out of a crowd.
  831.  
  832. ========
  833.  
  834. 6.5. How do I verify someone's identity?
  835.  
  836. It all depends on how well you know them.  Relatives, friends and
  837. colleagues are easy.  People you meet at conventions or key-signing
  838. sessions require some proof like a driver's license or credit card.
  839.  
  840. ========
  841.  
  842. 6.6. How do I know someone hasn't sent me a bogus key to sign?
  843.  
  844. It is very easy for someone to generate a key with a false ID and send
  845. e-mail with fraudulent headers, or for a node which routes the e-mail
  846. to you to substitute a different key.  Finger servers are harder to
  847. tamper with, but not impossible.  The problem is that while public key
  848. exchange does not require a secure channel (eavesdropping is not a
  849. problem) it does require a tamper-proof channel (key-substitution is a
  850. problem).
  851.  
  852. If it is a key from someone you know well and whose voice you
  853. recognize then it is sufficient to give them a phone call and have
  854. them read their key's fingerprint (obtained with PGP -kvc <userid>).
  855.  
  856. If you don't know the person very well then the only recourse is to
  857. exchange keys face-to-face and ask for some proof of identity.  Don't
  858. be tempted to put your public key disk in their machine so they can
  859. add their key - they could maliciously replace your key at the same
  860. time.  If the user ID includes an e-mail address, verify that address
  861. by exchanging an agreed encrypted message before signing.  Don't sign
  862. any user IDs on that key except those you have verified.
  863.  
  864. ========
  865.  
  866. 6.7. What's a key signing party?
  867.  
  868. A key signing party is a get-together with various other users of PGP
  869. for the purpose of meeting and signing keys.  This helps to extend the
  870. "web of trust" to a great degree.
  871.  
  872. ========
  873.  
  874. 6.8. How do I organize a key signing party?
  875.  
  876. Though the idea is simple, actually doing it is a bit complex, because
  877. you don't want to compromise other people's private keys or spread
  878. viruses (which is a risk whenever floppies are swapped willy-nilly).
  879. Usually, these parties involve meeting everyone at the party,
  880. verifying their identity and getting key fingerprints from them, and
  881. signing their key at home.
  882.  
  883. Derek Atkins <warlord@mit.edu> has recommended this method:
  884.  
  885. - -----
  886.    There are many ways to hold a key-signing session. Many viable
  887.    suggestions have been given. And, just to add more signal to this
  888.    newsgroup, I will suggest another one which seems to work very well
  889.    and also solves the N-squared problem of distributing and signing
  890.    keys. Here is the process:
  891.  
  892.     1. You announce the keysinging session, and ask everyone who plans to
  893.        come to send you (or some single person who *will* be there) their
  894.        public key. The RSVP also allows for a count of the number of
  895.        people for step 3.
  896.  
  897.     2. You compile the public keys into a single keyring, run "pgp -kvc"
  898.        on that keyring, and save the output to a file.
  899.  
  900.     3. Print out N copies of the "pgp -kvc" file onto hardcopy, and bring
  901.        this and the keyring on media to the meeting.
  902.  
  903.     4. At the meeting, distribute the printouts, and provide a site to
  904.        retreive the keyring (an ftp site works, or you can make floppy
  905.        copies, or whatever -- it doesn't matter).
  906.  
  907.     5. When you are all in the room, each person stands up, and people
  908.        vouch for this person (e.g., "Yes, this really is Derek Atkins --
  909.        I went to school with him for 6 years, and lived with him for 2").
  910.  
  911.     6. Each person securely obtains their own fingerprint, and after
  912.        being vouched for, they then read out their fingerprint out loud
  913.        so everyone can verify it on the printout they have.
  914.  
  915.     7. After everyone finishes this protocol, they can go home, obtain
  916.        the keyring, run "pgp -kvc" on it themselves, and re-verify the
  917.        bits, and sign the keys at their own leisure.
  918.  
  919.     8. To save load on the keyservers, you can optionally send all
  920.        signatures to the original person, who can coalate them again into
  921.        a single keyring and propagate that single keyring to the
  922.        keyservers and to each individual.
  923.  
  924.    This seems to work well -- it worked well at the IETF meeting last
  925.    month in Toronto, and I plan to try it at future dates.
  926. - -----
  927.  
  928. ========
  929.  
  930. 7.   Revoking a key
  931.  
  932. ========
  933.  
  934. 7.1. My secret key ring has been stolen or lost, what do I do?
  935.  
  936. Assuming that you selected a good solid random pass phrase to encrypt
  937. your secret key ring, you are probably still safe. It takes two parts
  938. to decrypt a message, the secret key ring, and its pass phrase.
  939. Assuming you have a backup copy of your secret key ring, you should
  940. generate a key revocation certificate and upload the revocation to one
  941. of the public key servers. Prior to uploading the revocation
  942. certificate, you might add a new ID to the old key that tells what
  943. your new key ID will be. If you don't have a backup copy of your
  944. secret key ring, then it will be impossible to create a revocation
  945. certificate under the present version of PGP. This is another good
  946. reason for keeping a backup copy of your secret key ring.
  947.  
  948. ========
  949.  
  950. 7.2. I forgot my pass phrase. Can I create a key revocation certificate?
  951.  
  952. YOU CAN'T, since the pass phrase is required to create the
  953. certificate!
  954.  
  955. The way to avoid this dilemma is to create a key revocation
  956. certificate at the same time that you generate your key pair.  Put the
  957. revocation certificate away in a safe place and you will have it
  958. available should the need arise. You need to be careful how you do
  959. this, however, or you will end up revoking the key pair that you just
  960. generated, and a revocation can't be reversed.
  961.  
  962. To do this, extract your public key to an ASCII file (using the "-kxa"
  963. option) after you have generated your key pair. Next, create a key
  964. revocation certificate and extract the revoked key to another ASCII
  965. file using the -kxa option again. Finally, delete the revoked key from
  966. your public key ring using the - kr option and put your non-revoked
  967. version back in the ring using the -ka option. Save the revocation
  968. certificate on a floppy so that you don't lose it if you crash your
  969. hard disk sometime.
  970.  
  971. ========
  972.  
  973. 8.   Public Key Servers
  974.  
  975. ========
  976.  
  977. 8.1. What are the Public Key Servers?
  978.  
  979. Public Key Servers exist for the purpose of making your public key
  980. available in a common database where everybody can have access to it
  981. for the purpose of encrypting messages to you. While a number of key
  982. servers exist, it is only necessary to send your key to one of them.
  983. The key server will take care of the job of sending your key to all
  984. other known servers.
  985.  
  986. Very recently, the number of keys reported on the key servers passed
  987. 10,000.
  988.  
  989. ========
  990.  
  991. 8.2. What public key servers are available?
  992.  
  993. The following is a list of all of the known public key servers active
  994. as of the publication date of this FAQ.  Any changes to this list
  995. should be posted to alt.security.pgp and a copy forwarded to me for
  996. inclusion in future releases of the alt.security.pgp FAQ.
  997.  
  998. Sites accessible via mail:
  999.  
  1000.     pgp-public-keys@pgp.mit.edu
  1001.     Derek Atkins <warlord@mit.edu>
  1002.  
  1003.     pgp-public-keys@pgp.iastate.edu
  1004.     Michael Graff <explorer@iastate.edu>
  1005.  
  1006.     pgp-public-keys@burn.ucsd.edu
  1007.     Andy Howard <ahoward@ucsd.edu>
  1008.  
  1009.     pgp-public-keys@fbihh.informatik.uni-hamburg.de
  1010.     Vesselin V. Bontchev <bontchev@fbihh.informatik.uni-hamburg.de>
  1011.  
  1012.     public-key-server@martigny.ai.mit.edu
  1013.     Brian A. LaMacchia <public-key-server-request@martigny.ai.mit.edu>
  1014.  
  1015.     pgp-public-keys@pgp.ox.ac.uk
  1016.     Paul Leyland <pcl@ox.ac.uk>
  1017.  
  1018.     pgp-public-keys@dsi.unimi.it
  1019.     David Vincenzetti <vince@dsi.unimi.it>
  1020.  
  1021.     pgp-public-keys@kub.nl
  1022.     Teun Nijssen <teun@kub.nl>
  1023.  
  1024.     pgp-public-keys@ext221.sra.co.jp
  1025.     Hironobu Suzuki <hironobu@sra.co.jp>
  1026.  
  1027.     pgp-public-keys@sw.oz.au
  1028.     Jeremy Fitzhardinge <jeremy@sw.oz.au>
  1029.  
  1030.     pgp-public-keys@kiae.su
  1031.     <blaster@rd.relcom.msk.su>
  1032.  
  1033.     pgp-public-keys@srce.hr
  1034.     Cedomir Igaly <cigaly@srce.hr>
  1035.  
  1036.     pgp-public-keys@pgp.pipex.net
  1037.     Mark Turner <markt@pipex.net>
  1038.  
  1039.     pgp-public-keys@goliat.upc.es
  1040.     Alvar Vinacua <alvar@turing.upc.es>
  1041.  
  1042.     pgp-public-keys@gondolin.org
  1043.     <pgp-admin@gondolin.org>
  1044.  
  1045. Sites accessible via WWW:
  1046.  
  1047.     http://martigny.ai.mit.edu/~bal/pks-toplev.html
  1048.     http://ibd.ar.com/PublicKeys.html
  1049.  
  1050. Key server keyrings accessible via FTP:
  1051.  
  1052.     ftp://pgp.iastate.edu/pub/pgp/public-keys.pgp
  1053.     ftp://pgp.mit.edu/pub/keys/public-keys.pgp
  1054.     ftp://burn.ucsd.edu/Crypto/public-keys.pgp
  1055.     ftp://alex.sp.cs.cmu.edu/links/security/pubring.pgp
  1056.     ftp://ftp.informatik.uni-hamburg.de/pub/virus/misc/pubkring.pgp
  1057.     ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/public-keys.pgp
  1058.     ftp://jpunix.com/pub/PGP/
  1059.  
  1060. The following key servers are no longer in operation:
  1061.  
  1062.     pgp-public-keys@phil.utmb.edu
  1063.     pgp-public-keys@proxima.alt.za
  1064.     pgp-public-keys@demon.co.uk
  1065.  
  1066. In addition to the "traditional" keyservers, there is a commercial key
  1067. registry in operation at four11.com.  Four11 Directory Services is set
  1068. up primarily as a directory service to assist in searching for people
  1069. or groups.  Members of the service may have their key certified by
  1070. Four11 and placed on their server; a key signature from Four11
  1071. indicates that you have met their signing requirements.  At the time
  1072. of this writing, they offer "SLED Silver Signatures", which require
  1073. identification of the key holder through one of the following:
  1074.  
  1075.  - a mailed or faxed driver's license
  1076.  - a mailed or faxed copy of a passport
  1077.  - payment for services with a preprinted personal check which cleared
  1078.  
  1079. Send mail to info@four11.com or connect to http://www.four11.com/ for
  1080. more information on SLED/Four11 or to search their server.  You can
  1081. request keys from their key server by sending E-mail to key@four11.com
  1082. or by fingering <email-addr>@publickey.com.  Their current
  1083. certification keys may be retrieved by sending mail to
  1084. key-pgp-silver@sled.com or by looking up "SLED" on the other
  1085. keyservers.
  1086.  
  1087. ===============
  1088.  
  1089. 8.3. What is the syntax of the key server commands?
  1090.  
  1091. The key server expects to see one of the following commands placed in
  1092. the subject field. Note that only the ADD command uses the body of the
  1093. message.
  1094.  
  1095. - -------------------------------------------------------------
  1096. ADD           Your PGP public key (key to add is body of msg) (-ka)
  1097. INDEX         List all PGP keys the server knows about (-kv)
  1098. VERBOSE INDEX List all PGP keys, verbose format (-kvv)
  1099. GET           Get the whole public key ring (-kxa *)
  1100. GET <userid>  Get just that one key (-kxa <userid>)
  1101. MGET <userid> Get all keys which match <userid>
  1102. LAST <n>      Get all keys uploaded during last <n> days
  1103. - -------------------------------------------------------------
  1104.  
  1105. If you wish to get the entire key ring and have access to FTP, it
  1106. would be a lot more efficient to use FTP rather than e-mail. Using
  1107. e-mail, the entire key ring can generate a many part message, which
  1108. you will have to reconstruct into a single file before adding it to
  1109. your key ring.
  1110.  
  1111. ========
  1112.  
  1113. 9.  Bugs
  1114.  
  1115. ========
  1116.  
  1117. 9.1 Where should I send bug reports?
  1118.  
  1119. Bugs related to MIT PGP should be sent to pgp-bugs@mit.edu.  You will
  1120. want to check http://www.mit.edu:8001/people/warlord/pgp-faq.html
  1121. before reporting a bug to make sure that the bug hasn't been reported
  1122. already.  If it is a serious bug, you should also post it to
  1123. alt.security.pgp.  Serious bugs are bugs that affect the security of
  1124. the program, not compile errors or small logic errors.
  1125.  
  1126. Post all of your bug reports concerning non-MIT versions of PGP to
  1127. alt.security.pgp, and forward a copy to me for possible inclusion in
  1128. future releases of the FAQ.  Please be aware that the authors of PGP
  1129. might not acknowledge bug reports sent directly to them.  Posting them
  1130. on USENET will give them the widest possible distribution in the
  1131. shortest amount of time.
  1132.  
  1133. The following list of bugs is limited to version 2.4 and later, and is
  1134. limited to the most commonly seen and serious bugs. For bugs in
  1135. earlier versions, refer to the documentation included with the
  1136. program.  If you find a bug not on this list, follow the procedure
  1137. above for reporting it.
  1138.  
  1139. ========
  1140.  
  1141. MIT PGP 2.6 had a bug in the key generation process which made keys
  1142. generated by it much less random.  Fixed in 2.6.1.
  1143.  
  1144. All versions of PGP except MIT PGP 2.6.2 are susceptible to a "buglet"
  1145. in clearsigned messages, making it possible to add text to the
  1146. beginning of a clearsigned message.  The added text does not appear in
  1147. the PGP output after the signature is checked.  MIT PGP 2.6.2 now does
  1148. not allow header lines before the text of a clearsigned message and
  1149. enforces RFC 822 syntax on header lines before the signature.  Since
  1150. this bug appears at checking time, however, you should be aware of
  1151. this bug even if you use MIT PGP 2.6.2 - the reader may check your
  1152. signed message with a different version and not read the output.
  1153.  
  1154. MIT PGP 2.6.1 was supposed to handle keys between 1024 and 2048 bits
  1155. in length, but could not.  Fixed in 2.6.2.
  1156.  
  1157. MIT PGP 2.6.2 was supposed to enable the generation of keys up to 2048
  1158. bits after December 25, 1994; a one-off bug puts that upper limit at
  1159. 2047 bits instead.  It has been reported that this problem does not
  1160. appear when MIT PGP is compiled under certain implementations of Unix.
  1161. The problem is fixed in versions 2.7.1 and 2.6.2i.
  1162.  
  1163. PGP 2.6ui continues to exhibit the bug in 2.3a where conventionally
  1164. encrypted messages, when encrypted twice with the same pass phrase,
  1165. produce the same ciphertext.
  1166.  
  1167. Many of the versions of MacPGP (especially beta versions of MIT
  1168. MacPGP) have been reported to not handle text files and ASCII-armored
  1169. files correctly, causing some signatures not to validate.
  1170.  
  1171. ViaCrypt has reported a bug in freeware PGP affecting at least PGP
  1172. 2.3a and MIT PGP 2.6, 2.6.1, and 2.6.2.  This bug affects signatures
  1173. made with keys between 2034 and 2048 bits in length, causing them to
  1174. be corrupted.  Practically speaking, this bug only affects versions of
  1175. PGP that support the longer key lengths.  ViaCrypt reports that this
  1176. only seems to be a problem when running PGP on a Sun SPARC-based
  1177. workstation.  ViaCrypt PGP 2.7.1 and PGP 2.6.2i do not suffer from
  1178. this bug.  The following patch will fix the problem in MIT PGP 2.6.2:
  1179.  
  1180. <===== begin patch (cut here)
  1181. - --- crypto.c.orig     Mon Mar 20 22:30:29 1995
  1182. +++ crypto.c    Mon Mar 20 22:55:32 1995
  1183. @@ -685,7 +685,7 @@
  1184.     byte class, unitptr e, unitptr d, unitptr p, unitptr q, unitptr u,
  1185.                                unitptr n)
  1186.  {
  1187. - -     byte inbuf[MAX_BYTE_PRECISION], outbuf[MAX_BYTE_PRECISION];
  1188. +       byte inbuf[MAX_BYTE_PRECISION], outbuf[MAX_BYTE_PRECISION+2];
  1189.         int i, j, certificate_length, blocksize,bytecount;
  1190.         word16 ske_length;
  1191.         word32 tstamp; byte *timestamp = (byte *) &tstamp;
  1192. <===== end patch (cut here)
  1193.  
  1194. The initial release of PGP 2.6.2i contained a bug related to
  1195. clearsigned messages; signed messages containing international
  1196. characters would always fail.  For that reason, it was immediately
  1197. pulled from distribution and re-released later, minus the bug.  If you
  1198. have problems with 2.6.2i, make sure you downloaded your copy after 7
  1199. May 1995.
  1200.  
  1201. ========
  1202.  
  1203. 10.   Recommended Reading
  1204.  
  1205. ========
  1206.  
  1207. Stallings, William, "Protect Your Privacy: A Guide for PGP Users",
  1208. Prentice Hall, 1995, ISBN 0-13-185596-4.
  1209. (Current errata at ftp://ftp.shore.net/members/ws/Errata-PGP-mmyy.txt)
  1210.  
  1211. Garfinkel, Simson, "PGP: Pretty Good Privacy", O'Reilly & Associates,
  1212. 1994, ISBN 1-56592-098-8.
  1213.  
  1214. Schneier, Bruce, "E-Mail Security with PGP and PEM: How To Keep Your
  1215. Electronic Messages Private", John Wiley & Sons, 1995, ISBN
  1216. 0-471-05318-X.
  1217.  
  1218. > The Code Breakers
  1219.       The Story of Secret Writing
  1220.       By David Kahn
  1221.       The MacMillan Publishing Company (1968)
  1222.       866 Third Avenue, New York, NY 10022
  1223.       Library of Congress Catalog Card Number: 63-16109
  1224.  
  1225.     ISBN: 0-02-560460-0
  1226.  
  1227.     This has been the unofficial standard reference book on the history of
  1228.     cryptography for the last 25 years. It covers the development of
  1229.     cryptography from ancient times, up to 1967. It is interesting to read
  1230.     about the cat and mouse games that governments have been playing with
  1231.     each other even to this day. I have been informed by Mats Lofkvist <d87-
  1232.     mal@nada.kth.se> that the book has been reissued since its original
  1233.     printing.  He found out about it from the 'Baker & Taylor Books'
  1234.     database.  I obtained my original edition from a used book store.  It is
  1235.     quite exhaustive in its coverage with 1164 pages.  When I was serving in
  1236.     the United States Navy in the early 1970's as a cryptographic repair
  1237.     technician, this book was considered contraband and not welcome around my
  1238.     work place, even though it was freely available at the local public
  1239.     library.  This was apparently because it mentioned several of the pieces
  1240.     of secret cryptographic equipment that were then in use in the military.
  1241.  
  1242.   > The following list was taken from the PGP documentation:
  1243.  
  1244. Dorothy Denning, "Cryptography and Data Security", Addison-Wesley,
  1245. Reading, MA 1982
  1246.  
  1247. Dorothy Denning, "Protecting Public Keys and Signature Keys", IEEE Computer,
  1248. Feb 1983
  1249.  
  1250. Martin E. Hellman, "The Mathematics of Public-Key Cryptography," Scientific
  1251. American, Aug 1979
  1252.  
  1253. Steven Levy, "Crypto Rebels", WIRED, May/Jun 1993, page 54. (This is a "must-
  1254. read" article on PGP and other related topics.)
  1255.  
  1256. Ronald Rivest, "The MD5 Message Digest Algorithm", MIT Laboratory for
  1257. Computer Science, 1991.  Available from the net as RFC1321.
  1258.  
  1259. Also available at ftp.dsi.unimi.it and its mirror at nic.funet.fi is:
  1260. IDEA_chapter.3.ZIP, a postscript text from the IDEA designer about
  1261. IDEA.
  1262.  
  1263. Xuejia Lai, "On the Design and Security of Block Ciphers", Institute for
  1264. Signal and Information Processing, ETH-Zentrum, Zurich, Switzerland, 1992
  1265.  
  1266. Xuejia Lai, James L. Massey, Sean Murphy, "Markov Ciphers and Differential
  1267. Cryptanalysis", Advances in Cryptology- EUROCRYPT'91
  1268.  
  1269. Philip Zimmermann, "A Proposed Standard Format for RSA Cryptosystems",
  1270. Advances in Computer Security, Vol III, edited by Rein Turn, Artech House,
  1271. 1988
  1272.  
  1273. Bruce Schneier, "Applied Cryptography: Protocols, Algorithms, and Source Code
  1274. in C", John Wiley & Sons, 1993
  1275.  
  1276. Paul Wallich, "Electronic Envelopes", Scientific American, Feb 1993, page 30.
  1277. (This is an article on PGP)
  1278.  
  1279. ========
  1280.  
  1281. 11.   General Tips
  1282.  
  1283.   > Some BBS sysops may not permit you to place encrypted mail or files on
  1284.     their boards.  Just because they have PGP in their file area, that
  1285.     doesn't necessarily mean they tolerate you uploading encrypted mail or
  1286.     files - so *do* check first.
  1287.  
  1288.   > Fido net mail is even more sensitive.  You should only send encrypted net
  1289.     mail after checking that:
  1290.  
  1291.       a) Your sysop permits it.
  1292.       b) Your recipient's sysop permits it.
  1293.       c) The mail is routed through nodes whose sysops also permit it.
  1294.  
  1295.   > Get your public key signed by as many individuals as possible.  It
  1296.     increases the chances of another person finding a path of trust from
  1297.     himself to you.
  1298.  
  1299.   > Don't sign someone's key just because someone else that you know has
  1300.     signed it.  Confirm the identity of the individual yourself.  Remember,
  1301.     you are putting your reputation on the line when you sign a key.
  1302.  
  1303.  
  1304. -----BEGIN PGP SIGNATURE-----
  1305. Version: 2.6.2
  1306.  
  1307. iQCVAwUBL+kBB7nwkw8DU+OFAQHbYAP8DJpJi+Th6cV/YTxsTYJ+FOcxsd5pRAph
  1308. y6lygvQQX+dpGpipgmc79yBfQ9x7bLYw8qzJJhJQ156/dahLzBa6mo9UclphHXbe
  1309. 1PJNgABAkLnJ9od4pFIrzrjAx5588fm0ipwGlmnL9rAd+F2FkeVc439lRcbxc49i
  1310. aV8I4tw6lJY=
  1311. =kHjJ
  1312. -----END PGP SIGNATURE-----
  1313.